﻿using Boardgame;
using BoardgameModelViewed;
using BoardgameModel;
using System;
using System.Collections.Generic;


namespace ChessBench
{
    class Pawn02
    {
        static void Main ()
        {
            ChessModel game = new ChessModel (4, 0, 6, 6);
            game.Put (new Rook (Player.White), 0, 0);
            game.Put (new Rook (Player.White), 7, 0);

            game.Put (new Pawn (Player.White), 1, 1);
            game.Put (new Pawn (Player.White), 2, 1);
            game.Put (new Pawn (Player.White), 3, 1);
            game.Put (new Pawn (Player.White), 4, 1);
            game.Put (new Pawn (Player.White), 5, 1);

            game.Put (new Pawn (Player.Black), 2, 6);
            game.Put (new Pawn (Player.Black), 3, 6);
            game.Put (new Pawn (Player.Black), 4, 6);
            game.Put (new Pawn (Player.Black), 5, 6);
            game.Put (new Pawn (Player.Black), 6, 6);
            Console.WriteLine ("Turn: {0}", game.PlayerTurn);

            Console.WriteLine (game.Board);
            Console.WriteLine ("Status: {0}\n", game.Status);

            game.MakeMove (2, 1, 2, 3);
            Console.WriteLine (game.Plies.ToString ());
            Console.WriteLine (game.Board);
            Console.WriteLine ("Status: {0}\n", game.Status);

            game.MakeMove (5, 6, 5, 4);
            Console.WriteLine (game.Plies.ToString ());
            Console.WriteLine (game.Board);
            Console.WriteLine ("Status: {0}\n", game.Status);

            game.MakeMove (2, 3, 2, 4);
            Console.WriteLine (game.Plies.ToString ());
            Console.WriteLine (game.Board);
            Console.WriteLine ("Status: {0}\n", game.Status);

            game.MakeMove (3, 6, 3, 4);
            Console.WriteLine (game.Plies.ToString ());
            Console.WriteLine (game.Board);
            Console.WriteLine ("Status: {0}\n", game.Status);

            game.MakeMove (2, 4, 3, 5);
            Console.WriteLine (game.Plies.ToString ());
            Console.WriteLine (game.Board);
            Console.WriteLine ("Status: {0}\n", game.Status);
        }
    }
}
